<!-- saved from url=(0014)about:internet -->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>RTW Report - rtGetNaN.cpp</title>
<script language="JavaScript" type="text/javascript" src="rtwreport_utils.js"></script>
<script src="resources/eml_report_loadable_data.js"></script>
</head>
<body bgcolor="#eeeeee" onload="try {if (top) { if (top.rtwFileOnLoad) top.rtwFileOnLoad(window.document); else local_onload();}} catch(err) {};">
<p>
<table border="0" cellspacing="0" cellpadding="6" width="100%%" height="100%%"><tr><td width="100%%" valign="top" bgcolor="#ffffff">
<h4>File: <a href="../rtGetNaN.cpp" target="rtwreport_document_frame" id="linkToText_plain">rtGetNaN.cpp</a></h4>
<pre id="RTWcode">
<a name="1"><font color="#888888 "><i>    1   </i></font></a><font color="#117755"><i>/*</i></font>
<a name="2"><font color="#888888 "><i>    2   </i></font></a><font color="#117755"><I> * Academic License - for use in teaching, academic research, and meeting</i></font>
<a name="3"><font color="#888888 "><i>    3   </i></font></a><font color="#117755"><I> * course requirements at degree granting institutions only.  Not for</i></font>
<a name="4"><font color="#888888 "><i>    4   </i></font></a><font color="#117755"><I> * government, commercial, or other organizational use.</i></font>
<a name="5"><font color="#888888 "><i>    5   </i></font></a><font color="#117755"><I> * File: rtGetNaN.cpp</i></font>
<a name="6"><font color="#888888 "><i>    6   </i></font></a><font color="#117755"><I> *</i></font>
<a name="7"><font color="#888888 "><i>    7   </i></font></a><font color="#117755"><I> * MATLAB Coder version            : 3.3</i></font>
<a name="8"><font color="#888888 "><i>    8   </i></font></a><font color="#117755"><I> * C/C++ source code generated on  : 15-Jan-2018 19:08:03</i></font>
<a name="9"><font color="#888888 "><i>    9   </i></font></a><font color="#117755"><I> */</i></font>
<a name="10"><font color="#888888 "><i>   10   </i></font></a>
<a name="11"><font color="#888888 "><i>   11   </i></font></a><font color="#117755"><i>/*</i></font>
<a name="12"><font color="#888888 "><i>   12   </i></font></a><font color="#117755"><I> * Abstract:</i></font>
<a name="13"><font color="#888888 "><i>   13   </i></font></a><font color="#117755"><I> *       MATLAB for code generation function to initialize non-finite, NaN</i></font>
<a name="14"><font color="#888888 "><i>   14   </i></font></a><font color="#117755"><I> */</i></font>
<a name="15"><font color="#888888 "><i>   15   </i></font></a><font color="#992211">#</font><font color="#992211"><b>include</b></font> <font color="#992211">&quot;rtGetNaN.h&quot;</font>
<a name="16"><font color="#888888 "><i>   16   </i></font></a><font color="#992211">#</font><font color="#992211"><b>define</b></font> NumBitsPerChar                 8U
<a name="17"><font color="#888888 "><i>   17   </i></font></a>
<a name="18"><font color="#888888 "><i>   18   </i></font></a><font color="#117755"><i>/* Function: rtGetNaN ==================================================</i></font>
<a name="19"><font color="#888888 "><i>   19   </i></font></a><font color="#117755"><I> * Abstract:</i></font>
<a name="20"><font color="#888888 "><i>   20   </i></font></a><font color="#117755"><I> * Initialize rtNaN needed by the generated code.</i></font>
<a name="21"><font color="#888888 "><i>   21   </i></font></a><font color="#117755"><I> * NaN is initialized as non-signaling. Assumes IEEE.</i></font>
<a name="22"><font color="#888888 "><i>   22   </i></font></a><font color="#117755"><I> */</i></font>
<a name="23"><font color="#888888 "><i>   23   </i></font></a><a href="rtwtypes_h.html#type_real_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_real_T');" target="_self"><font color="#1122aa">real_T</font></a> <a name="fcn_rtGetNaN">rtGetNaN</a>(<font color="#112266"><b>void</b></font>)
<a name="24"><font color="#888888 "><i>   24   </i></font></a><b>{</b>
<a name="25"><font color="#888888 "><i>   25   </i></font></a>  size_t bitsPerReal = <font color="#112266"><b>sizeof</b></font>(<a href="rtwtypes_h.html#type_real_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_real_T');" target="_self"><font color="#1122aa">real_T</font></a>) * (NumBitsPerChar);
<a name="26"><font color="#888888 "><i>   26   </i></font></a>  <a href="rtwtypes_h.html#type_real_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_real_T');" target="_self"><font color="#1122aa">real_T</font></a> nan = 0.0;
<a name="27"><font color="#888888 "><i>   27   </i></font></a>  <font color="#112266"><b>if</b></font> (bitsPerReal == 32U) <b>{</b>
<a name="28"><font color="#888888 "><i>   28   </i></font></a>    nan = <a href="#fcn_rtGetNaNF" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'fcn_rtGetNaNF');" target="_self"><font color="#1122aa">rtGetNaNF</font></a>();
<a name="29"><font color="#888888 "><i>   29   </i></font></a>  <b>}</b> <font color="#112266"><b>else</b></font> <b>{</b>
<a name="30"><font color="#888888 "><i>   30   </i></font></a>    <a href="rtwtypes_h.html#type_uint16_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_uint16_T');" target="_self"><font color="#1122aa">uint16_T</font></a> one = 1U;
<a name="31"><font color="#888888 "><i>   31   </i></font></a>    <font color="#112266"><b>enum</b></font> <b>{</b>
<a name="32"><font color="#888888 "><i>   32   </i></font></a>      LittleEndian,
<a name="33"><font color="#888888 "><i>   33   </i></font></a>      BigEndian
<a name="34"><font color="#888888 "><i>   34   </i></font></a>    <b>}</b> machByteOrder = (*((<a href="rtwtypes_h.html#type_uint8_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_uint8_T');" target="_self"><font color="#1122aa">uint8_T</font></a> *) &amp;one) == 1U) ? LittleEndian : BigEndian;
<a name="35"><font color="#888888 "><i>   35   </i></font></a>    <font color="#112266"><b>switch</b></font> (machByteOrder) <b>{</b>
<a name="36"><font color="#888888 "><i>   36   </i></font></a>     <font color="#112266"><b>case</b></font> LittleEndian:
<a name="37"><font color="#888888 "><i>   37   </i></font></a>      <b>{</b>
<a name="38"><font color="#888888 "><i>   38   </i></font></a>        <font color="#112266"><b>union</b></font> <b>{</b>
<a name="39"><font color="#888888 "><i>   39   </i></font></a>          <a href="rt_nonfinite_h.html#type_LittleEndianIEEEDouble" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_LittleEndianIEEEDouble');" target="_self"><font color="#1122aa">LittleEndianIEEEDouble</font></a> bitVal;
<a name="40"><font color="#888888 "><i>   40   </i></font></a>          <a href="rtwtypes_h.html#type_real_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_real_T');" target="_self"><font color="#1122aa">real_T</font></a> fltVal;
<a name="41"><font color="#888888 "><i>   41   </i></font></a>        <b>}</b> tmpVal;
<a name="42"><font color="#888888 "><i>   42   </i></font></a>
<a name="43"><font color="#888888 "><i>   43   </i></font></a>        tmpVal.bitVal.words.wordH = 0xFFF80000U;
<a name="44"><font color="#888888 "><i>   44   </i></font></a>        tmpVal.bitVal.words.wordL = 0x00000000U;
<a name="45"><font color="#888888 "><i>   45   </i></font></a>        nan = tmpVal.fltVal;
<a name="46"><font color="#888888 "><i>   46   </i></font></a>        <font color="#112266"><b>break</b></font>;
<a name="47"><font color="#888888 "><i>   47   </i></font></a>      <b>}</b>
<a name="48"><font color="#888888 "><i>   48   </i></font></a>
<a name="49"><font color="#888888 "><i>   49   </i></font></a>     <font color="#112266"><b>case</b></font> BigEndian:
<a name="50"><font color="#888888 "><i>   50   </i></font></a>      <b>{</b>
<a name="51"><font color="#888888 "><i>   51   </i></font></a>        <font color="#112266"><b>union</b></font> <b>{</b>
<a name="52"><font color="#888888 "><i>   52   </i></font></a>          <a href="rt_nonfinite_h.html#type_BigEndianIEEEDouble" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_BigEndianIEEEDouble');" target="_self"><font color="#1122aa">BigEndianIEEEDouble</font></a> bitVal;
<a name="53"><font color="#888888 "><i>   53   </i></font></a>          <a href="rtwtypes_h.html#type_real_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_real_T');" target="_self"><font color="#1122aa">real_T</font></a> fltVal;
<a name="54"><font color="#888888 "><i>   54   </i></font></a>        <b>}</b> tmpVal;
<a name="55"><font color="#888888 "><i>   55   </i></font></a>
<a name="56"><font color="#888888 "><i>   56   </i></font></a>        tmpVal.bitVal.words.wordH = 0x7FFFFFFFU;
<a name="57"><font color="#888888 "><i>   57   </i></font></a>        tmpVal.bitVal.words.wordL = 0xFFFFFFFFU;
<a name="58"><font color="#888888 "><i>   58   </i></font></a>        nan = tmpVal.fltVal;
<a name="59"><font color="#888888 "><i>   59   </i></font></a>        <font color="#112266"><b>break</b></font>;
<a name="60"><font color="#888888 "><i>   60   </i></font></a>      <b>}</b>
<a name="61"><font color="#888888 "><i>   61   </i></font></a>    <b>}</b>
<a name="62"><font color="#888888 "><i>   62   </i></font></a>  <b>}</b>
<a name="63"><font color="#888888 "><i>   63   </i></font></a>
<a name="64"><font color="#888888 "><i>   64   </i></font></a>  <font color="#112266"><b>return</b></font> nan;
<a name="65"><font color="#888888 "><i>   65   </i></font></a><b>}</b>
<a name="66"><font color="#888888 "><i>   66   </i></font></a>
<a name="67"><font color="#888888 "><i>   67   </i></font></a><font color="#117755"><i>/* Function: rtGetNaNF ==================================================</i></font>
<a name="68"><font color="#888888 "><i>   68   </i></font></a><font color="#117755"><I> * Abstract:</i></font>
<a name="69"><font color="#888888 "><i>   69   </i></font></a><font color="#117755"><I> * Initialize rtNaNF needed by the generated code.</i></font>
<a name="70"><font color="#888888 "><i>   70   </i></font></a><font color="#117755"><I> * NaN is initialized as non-signaling. Assumes IEEE.</i></font>
<a name="71"><font color="#888888 "><i>   71   </i></font></a><font color="#117755"><I> */</i></font>
<a name="72"><font color="#888888 "><i>   72   </i></font></a><a href="rtwtypes_h.html#type_real32_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_real32_T');" target="_self"><font color="#1122aa">real32_T</font></a> <a name="fcn_rtGetNaNF">rtGetNaNF</a>(<font color="#112266"><b>void</b></font>)
<a name="73"><font color="#888888 "><i>   73   </i></font></a><b>{</b>
<a name="74"><font color="#888888 "><i>   74   </i></font></a>  <a href="rt_nonfinite_h.html#type_IEEESingle" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_IEEESingle');" target="_self"><font color="#1122aa">IEEESingle</font></a> nanF = <b>{</b> <b>{</b> 0 <b>}</b> <b>}</b>;
<a name="75"><font color="#888888 "><i>   75   </i></font></a>
<a name="76"><font color="#888888 "><i>   76   </i></font></a>  <a href="rtwtypes_h.html#type_uint16_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_uint16_T');" target="_self"><font color="#1122aa">uint16_T</font></a> one = 1U;
<a name="77"><font color="#888888 "><i>   77   </i></font></a>  <font color="#112266"><b>enum</b></font> <b>{</b>
<a name="78"><font color="#888888 "><i>   78   </i></font></a>    LittleEndian,
<a name="79"><font color="#888888 "><i>   79   </i></font></a>    BigEndian
<a name="80"><font color="#888888 "><i>   80   </i></font></a>  <b>}</b> machByteOrder = (*((<a href="rtwtypes_h.html#type_uint8_T" onclick="if (top) if (top.docHiliteMe) top.docHiliteMe(window, 'type_uint8_T');" target="_self"><font color="#1122aa">uint8_T</font></a> *) &amp;one) == 1U) ? LittleEndian : BigEndian;
<a name="81"><font color="#888888 "><i>   81   </i></font></a>  <font color="#112266"><b>switch</b></font> (machByteOrder) <b>{</b>
<a name="82"><font color="#888888 "><i>   82   </i></font></a>   <font color="#112266"><b>case</b></font> LittleEndian:
<a name="83"><font color="#888888 "><i>   83   </i></font></a>    <b>{</b>
<a name="84"><font color="#888888 "><i>   84   </i></font></a>      nanF.wordL.wordLuint = 0xFFC00000U;
<a name="85"><font color="#888888 "><i>   85   </i></font></a>      <font color="#112266"><b>break</b></font>;
<a name="86"><font color="#888888 "><i>   86   </i></font></a>    <b>}</b>
<a name="87"><font color="#888888 "><i>   87   </i></font></a>
<a name="88"><font color="#888888 "><i>   88   </i></font></a>   <font color="#112266"><b>case</b></font> BigEndian:
<a name="89"><font color="#888888 "><i>   89   </i></font></a>    <b>{</b>
<a name="90"><font color="#888888 "><i>   90   </i></font></a>      nanF.wordL.wordLuint = 0x7FFFFFFFU;
<a name="91"><font color="#888888 "><i>   91   </i></font></a>      <font color="#112266"><b>break</b></font>;
<a name="92"><font color="#888888 "><i>   92   </i></font></a>    <b>}</b>
<a name="93"><font color="#888888 "><i>   93   </i></font></a>  <b>}</b>
<a name="94"><font color="#888888 "><i>   94   </i></font></a>
<a name="95"><font color="#888888 "><i>   95   </i></font></a>  <font color="#112266"><b>return</b></font> nanF.wordL.wordLreal;
<a name="96"><font color="#888888 "><i>   96   </i></font></a><b>}</b>
<a name="97"><font color="#888888 "><i>   97   </i></font></a>
<a name="98"><font color="#888888 "><i>   98   </i></font></a><font color="#117755"><i>/*</i></font>
<a name="99"><font color="#888888 "><i>   99   </i></font></a><font color="#117755"><I> * File trailer for rtGetNaN.cpp</i></font>
<a name="100"><font color="#888888 "><i>  100   </i></font></a><font color="#117755"><I> *</i></font>
<a name="101"><font color="#888888 "><i>  101   </i></font></a><font color="#117755"><I> * [EOF]</i></font>
<a name="102"><font color="#888888 "><i>  102   </i></font></a><font color="#117755"><I> */</i></font>
<a name="103"><font color="#888888 "><i>  103   </i></font></a></pre>
</td></tr></table>
</p>
</body>
</html>